var esprima = {
  "version": {},
  "tokenize": function () {},
  "parse": function () {},
  "Syntax": {
    "AssignmentExpression": {},
    "AssignmentPattern": {},
    "ArrayExpression": {},
    "ArrayPattern": {},
    "ArrowFunctionExpression": {},
    "BlockStatement": {},
    "BinaryExpression": {},
    "BreakStatement": {},
    "CallExpression": {},
    "CatchClause": {},
    "ClassBody": {},
    "ClassDeclaration": {},
    "ClassExpression": {},
    "ConditionalExpression": {},
    "ContinueStatement": {},
    "DoWhileStatement": {},
    "DebuggerStatement": {},
    "EmptyStatement": {},
    "ExportAllDeclaration": {},
    "ExportDefaultDeclaration": {},
    "ExportNamedDeclaration": {},
    "ExportSpecifier": {},
    "ExpressionStatement": {},
    "ForStatement": {},
    "ForOfStatement": {},
    "ForInStatement": {},
    "FunctionDeclaration": {},
    "FunctionExpression": {},
    "Identifier": {},
    "IfStatement": {},
    "ImportDeclaration": {},
    "ImportDefaultSpecifier": {},
    "ImportNamespaceSpecifier": {},
    "ImportSpecifier": {},
    "Literal": {},
    "LabeledStatement": {},
    "LogicalExpression": {},
    "MemberExpression": {},
    "MetaProperty": {},
    "MethodDefinition": {},
    "NewExpression": {},
    "ObjectExpression": {},
    "ObjectPattern": {},
    "Program": {},
    "Property": {},
    "RestElement": {},
    "ReturnStatement": {},
    "SequenceExpression": {},
    "SpreadElement": {},
    "Super": {},
    "SwitchCase": {},
    "SwitchStatement": {},
    "TaggedTemplateExpression": {},
    "TemplateElement": {},
    "TemplateLiteral": {},
    "ThisExpression": {},
    "ThrowStatement": {},
    "TryStatement": {},
    "UnaryExpression": {},
    "UpdateExpression": {},
    "VariableDeclaration": {},
    "VariableDeclarator": {},
    "WhileStatement": {},
    "WithStatement": {},
    "YieldExpression": {}
  }
};